// pages/notepad/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    plan_data: [],
    input_value: '',
    plan_num: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 从缓存中获取计划数据
    const plan_data = wx.getStorageSync('plan_data')|| []
    // 计算未完成任务数
    let plan_num = 0
    plan_data.forEach((item) => {
      item.isComplete? plan_num += 0 : plan_num +=1
    })
    this.setData({plan_data, plan_num})
  },
  //输入框输入回调函数
  handleInput(e){
    this.setData({input_value: e.detail.value})
  },
  // 输入计划确认回调函数
  handleConfirm(){
    if(!this.data.input_value.trim()){
      this.setData({input_value: ''})
    }else{
      const origin_data = this.data.plan_data
      // 构造放入计划列表的数据
      const content = {'content': this.data.input_value, 'isComplete' : false}
      origin_data.push(content)
      let {plan_num} = this.data
      ++plan_num
      this.setData({plan_data: origin_data, plan_num})
      // 重置输入框
      this.setData({input_value: ''})
      wx.setStorageSync('plan_data', origin_data)
    }

  },
  // 清空计划回调函数
  handleClear(){
    this.setData({plan_data: [], plan_num: 0})
    wx.setStorageSync('plan_data', [])
  },
  // 任务完成回调函数
  handleComplete(e){
    const {index} = e.currentTarget.dataset
    let {plan_num} = this.data
    const origin_data = this.data.plan_data
    //已完成任务不再减少
    if(!origin_data[index].isComplete){
      --plan_num
      origin_data.forEach((item, index1) => {
        index1 === index? item.isComplete = true : ''
      })
      this.setData({plan_num, plan_data: origin_data})
      wx.setStorageSync('plan_data', origin_data)
    } 
  },
  // 删除任务计划回调函数
  handleDelete(e){
    const {index} = e.currentTarget.dataset
    let {plan_num} = this.data
    const plan_data = this.data.plan_data
    // 已完成任务不再减少计划数
    if(!plan_data[index].isComplete){
      --plan_num
    }
    plan_data.splice(index, 1)
    this.setData({plan_data, plan_num})
    wx.setStorageSync('plan_data', plan_data)
    
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    // 重新分享方法
    wx.showShareMenu({
      withShareTicket: true,
      menus: ['shareAppMessage', 'shareTimeline']
    })
    return {
      title: "生活小福记事本",
      path: "/pages/notepad/index"
    }
  },
  /**
   * 用户点击分享朋友圈
   */
  onShareTimeline(){}
})